package com.qdxwx.data.service.shopcart;

import com.qdxwx.common.page.PageRequest;
import com.qdxwx.models.shopcart.ShopCart;

import java.util.List;

/**
 * Qdx NetSchool Platform
 * @author qdxwx
 * @updateTime 2022/5/25
 * @description
 */
public interface ShopCartService {
	/**
	 * 添加shopCart
	 * @return id
	 */
    int insert(Integer goodsId, Integer type, Long userId);

	/**
	 * 根据id删除一个shopCart
	 *
	 * @param id
	 *            要删除的id
	 */
    void deleteById(Long id, Long userId);
	/**
	 * 根据条件获取ShopCart列表
	 *
	 * @param shopcart
	 *            查询条件
	 * @return List<ShopCart>
	 */
	List<ShopCart> getList(ShopCart shopcart, PageRequest page);
	/**
	 * 查询用户的购物车
	 *
	 * @param
	 *            userId 用户id
	 * @return List<ShopCart>
	 */
    List<ShopCart> getListWithCourse(long userId, int type);

	List<ShopCart> getListByUserId(long userId, int type);

	boolean isExist(ShopCart query);

	boolean isExist(long userId, int typeId,int goodsId);
	/**
	 * 清空数据库的购物车
	 *
	 * @param type
	 *            要删除的类型
	 */
    void deleteByUserId(long userId, int type);
}
